package com.wkck.service;

import com.wkck.VO.CareerDetailsVo;
import com.wkck.VO.PageResult;
import com.wkck.dto.CareerLikeQueryArgumentsDto;
import com.wkck.dto.SaveAndUpdateCareerDetailsDto;
import com.wkck.utils.CareerInfoVo;

import java.util.List;

/**
 * @Author: CK
 * @Date: 2023/12/17/20:33
 * @Description:
 */

public interface CareerService {

    /**
     * @Author: CK
     * @Date: 2023/12/17
     * @Param: []
     * @return: 岗位列表
     * @Description: 岗位列表
     */
    PageResult likeQuery(CareerLikeQueryArgumentsDto careerLikeQueryArgumentsDto);

    /**
     * @Author: CK
     * @Date: 2023/12/22
     * @Param: [saveCareerDetailsDto]
     * @return: 成功结果集
     * @Description: 添加岗位
     */
    Boolean saveCareer(SaveAndUpdateCareerDetailsDto saveCareerDetailsDto);

    /**
     * @Author: CK
     * @Date: 2023/12/27
     * @Param: [id, careerDetailsDto]
     * @return: 修改岗位信息标志
     * @Description: 根据ID修改岗位信息
     */
    Boolean updateCareerInfoById(Integer id, SaveAndUpdateCareerDetailsDto careerDetailsDto);

    /**
     * @Author: CK
     * @Date: 2023/12/28
     * @Param: []
     * @return: 删除成功与否的标记
     * @Description: 根据Ids删除岗位
     */
    Boolean removeCareerByIds(List<Integer> ids);

    /**
     * @Author: CK
     * @Date: 2023/12/29
     * @Param: [id]
     * @return:
     * @Description: 根据id获取职位信息
     */
    CareerDetailsVo getCareerInfoById(Integer id);

    /***
     * @Author: CK
     * @Date: 2024/3/12
     * @Param: [id]
     * @Description: 根据职位id获得信息
     */
    CareerInfoVo getFrontendCareerInfoById(Integer id);

    /***
     * @Author: CK
     * @Date: 2024/3/18
     * @Param: [careerLikeQueryArgumentsDto]
     * @Description: 根据公司名获取公司职位信息
     */
    PageResult likeQueryByName(CareerLikeQueryArgumentsDto careerLikeQueryArgumentsDto);
}
